package com.xidian.zhiancloud.ticketTemplate.ticketContentRisk;

import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;

import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.List;

public class TemplateJson {
    public static void main(String[] args) {
        test();
    }

    public static JsonNode test() {
        ObjectMapper mapper = new ObjectMapper();
        // 添加键值对。key是条目的名称，value也是HashMap类型的键值对
        HashMap<String, Object> t1 = new LinkedHashMap<>();
        // 规定：input_type中，0：键入；1：单选；2：多选；3.多选&键入；
        // 申请单位id 和 人员id 选择时，不出现在参数三中
        t1.put("organization_id", getFiled("申请单位", "int", 0, new String[]{}));      // 申请单位

        JsonNode jsonNode = mapper.valueToTree(t1);
        System.out.println(jsonNode);
        return jsonNode;
    }

    // 第二层最多3个参数，一个是输入的类型，一个是输入的方式，一个是输入方式为选择时，选择的内容
    public static HashMap<String, Object> getFiled(String comment, String type, int input_type, String[] choice) {
        HashMap<String, Object> t2 = new LinkedHashMap<>();
        t2.put("comment", comment);
        t2.put("type", type);
        t2.put("input_type", input_type);
        t2.put("choice", choice);
        return t2;
    }

    public static HashMap<String, Object> getFiled(String comment, String type, int input_type, List list) {
        HashMap<String, Object> t2 = new LinkedHashMap<>();
        t2.put("comment", comment);
        t2.put("type", type);
        t2.put("input_type", input_type);
        t2.put("choice", list);
        return t2;
    }
}
